LEADTOOLS Medical (Leadtools.Medical.Workstation.Client assembly)

FindStudies(String,String,String,String[],String,String,String,String,String,String,String) Method

Show in webframe
Example 





The patient name System.String value to match the queried study against. This value can be null or System.String.Empty.
The patient ID System.String value to match the queried study against. This value can be null or System.String.Empty.
The study ID System.String value to match the queried study against. This value can be null or System.String.Empty.
An array of System.String which contains the modalities to match the queried study against. This value can be null or System.String.Empty.
The accession number System.String value to match the queried study against. This value can be null or System.String.Empty.
The referring physician name System.String value to match the queried study against. This value can be null or System.String.Empty.
The study starting date of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
The study end date of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
The study starting time of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
The study end time of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
The Study Instance UID System.String value to match the queried study against. This value can be null or System.String.Empty.
Overloaded. Runs a study-based query with the specified parameters.
Syntax
'Declaration
 
Public Overloads Overridable Function FindStudies( _
   ByVal patientName As String, _
   ByVal patientID As String, _
   ByVal studyID As String, _
   ByVal modalitiesInStudy() As String, _
   ByVal accessionNumber As String, _
   ByVal referDrName As String, _
   ByVal studyDateStart As String, _
   ByVal studyDateEnd As String, _
   ByVal studyTimeStart As String, _
   ByVal studyTimeEnd As String, _
   ByVal studyInstanceUID As String _
) As DicomDataSet()
'Usage
 
Dim instance As QueryClient
Dim patientName As String
Dim patientID As String
Dim studyID As String
Dim modalitiesInStudy() As String
Dim accessionNumber As String
Dim referDrName As String
Dim studyDateStart As String
Dim studyDateEnd As String
Dim studyTimeStart As String
Dim studyTimeEnd As String
Dim studyInstanceUID As String
Dim value() As DicomDataSet
 
value = instance.FindStudies(patientName, patientID, studyID, modalitiesInStudy, accessionNumber, referDrName, studyDateStart, studyDateEnd, studyTimeStart, studyTimeEnd, studyInstanceUID)

            

            

Parameters

patientName
The patient name System.String value to match the queried study against. This value can be null or System.String.Empty.
patientID
The patient ID System.String value to match the queried study against. This value can be null or System.String.Empty.
studyID
The study ID System.String value to match the queried study against. This value can be null or System.String.Empty.
modalitiesInStudy
An array of System.String which contains the modalities to match the queried study against. This value can be null or System.String.Empty.
accessionNumber
The accession number System.String value to match the queried study against. This value can be null or System.String.Empty.
referDrName
The referring physician name System.String value to match the queried study against. This value can be null or System.String.Empty.
studyDateStart
The study starting date of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
studyDateEnd
The study end date of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
studyTimeStart
The study starting time of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
studyTimeEnd
The study end time of a System.DateTime value type to match the queried study against. This value can be null or System.String.Empty.
studyInstanceUID
The Study Instance UID System.String value to match the queried study against. This value can be null or System.String.Empty.

Return Value

An Array of Leadtools.Dicom.DicomDataSet objects which contains the query results.
Remarks

Calling this method while the Processing property is true will result in an InvalidOperationException being thrown.

If the operation is cancelled this method will throw a ClientCommunicationCanceled exception.

Example
Copy Code  
Imports Leadtools
         Imports Leadtools.Codecs
         Imports Leadtools.Dicom
         Imports Leadtools.Dicom.Scu.Common
         Imports Leadtools.ImageProcessing
         Imports Leadtools.Dicom.AddIn.Common
         Imports Leadtools.Dicom.Scu
         Imports Leadtools.Medical.DataAccessLayer
         Imports Leadtools.Medical.Storage.DataAccessLayer
         Imports Leadtools.Medical.Storage.DataAccessLayer.Configuration
         Imports Leadtools.Medical.Workstation.Client
         Imports Leadtools.Medical.Workstation.Client.Local
         Imports Leadtools.Medical.Workstation.Client.Pacs

         Public Sub DatabaseQueryLocal()
#If LEADTOOLS_V175_OR_LATER Then
                Leadtools.Examples.Support.SetLicense()
#Else
         Leadtools.Examples.Support.Unlock()
#End If ''' #if LEADTOOLS_V175_OR_LATER

            Dim clientInfo As AeInfo = New AeInfo()


            clientInfo.Address = Dns.GetHostName() 'local machine
            clientInfo.AETitle = "TEST_CLIENT"
            clientInfo.Port = 1000

            Dim dataAccess As Medical.Storage.DataAccessLayer.IStorageDataAccessAgent

            Dim fromConfiguration As Boolean

            fromConfiguration = False
            If (fromConfiguration) Then

               'Make sure that the Sotrage Data Access is configured before creating an instance.
               dataAccess = DataAccessFactory.GetInstance(New StorageDataAccessConfigurationView()).CreateDataAccessAgent(Of IStorageDataAccessAgent)()
            Else

               Dim connectionString As String = "Data Source=local;Initial Catalog=DicomStorage;Integrated Security=True;User ID=;Password=;Pooling=True"
               'or you can directly create the data access object which works with your database
               dataAccess = New StorageSqlDbDataAccessAgent(connectionString)
            End If


            'Make sure that the FindAddIn is configured properly before using this class.
            Dim client As DbQueryClient = New DbQueryClient(clientInfo, dataAccess)

            client.EnableLog = True
            client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt")

            PerformClientQuery(client)
         End Sub

         Public Sub PerformClientQuery(ByVal client As QueryClient)
            Dim studiesQuery As FindQuery = New FindQuery()


            Dim studies As DicomDataSet() = client.FindStudies(studiesQuery)


            If studies.Length > 0 Then
               Dim study As DicomDataSet = studies(0)
               Dim seriesQuery As FindQuery = New FindQuery()


               seriesQuery.StudyInstanceUID = study.GetValue(Of String)(DicomTag.StudyInstanceUID, String.Empty)

               Dim series As DicomDataSet() = client.FindSeries(seriesQuery)

               For Each seriesDS As DicomDataSet In series
                  Dim imagesQuery As FindQuery = New FindQuery()


                  imagesQuery.SeriesInstanceUID = seriesDS.GetValue(Of String)(DicomTag.SeriesInstanceUID, String.Empty)

                  Dim images As DicomDataSet() = client.FindImages(imagesQuery)


                  For Each instance As DicomDataSet In images
                     Console.WriteLine("SOPInstanceUID: {0}", instance.GetValue(Of String)(DicomTag.SOPInstanceUID, String.Empty))

                     Console.WriteLine("SeriesInstanceUID: {0}", instance.GetValue(Of String)(DicomTag.SeriesInstanceUID, String.Empty))

                     Console.WriteLine("StudyInstanceUID: {0}", instance.GetValue(Of String)(DicomTag.StudyInstanceUID, String.Empty))
                  Next instance
               Next seriesDS
            End If
         End Sub

         Public NotInheritable Class LEAD_VARS
         Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
         End Class
using Leadtools;
         using Leadtools.Codecs;
         using Leadtools.Dicom;
         using Leadtools.Dicom.Scu.Common;
         using Leadtools.ImageProcessing;
         using Leadtools.Dicom.AddIn.Common ;
         using Leadtools.Dicom.Scu ;
         using Leadtools.Medical.Workstation.Client;
         using Leadtools.Medical.Workstation.Client.Local;
         using Leadtools.Medical.Workstation.Client.Pacs ;
         using Leadtools.Medical.Storage.DataAccessLayer;
         using Leadtools.Medical.DataAccessLayer;
         using Leadtools.Medical.Storage.DataAccessLayer.Configuration;

         public void DatabaseQueryLocal()
         {
#if LEADTOOLS_V175_OR_LATER
            Leadtools.Examples.Support.SetLicense();
#else
            Leadtools.Examples.Support.Unlock();
#endif // #if LEADTOOLS_V175_OR_LATER

            AeInfo clientInfo = new AeInfo ( );


            clientInfo.Address = Dns.GetHostName(); //local machine
            clientInfo.AETitle = "TEST_CLIENT" ;
            clientInfo.Port    = 1000 ;

            IStorageDataAccessAgent dataAccess = null;
            bool fromConfiguration = false;

            if (fromConfiguration)
            {
               //Make sure that the Sotrage Data Access is configured before creating an instance.
               dataAccess = DataAccessFactory.GetInstance(new StorageDataAccessConfigurationView()).CreateDataAccessAgent<IStorageDataAccessAgent>();
            }
            else
            {
               string connectionString = @"Data Source=local;Initial Catalog=DicomStorage;Integrated Security=True;User ID=;Password=;Pooling=True";
               //or you can directly create the data access object which works with your database
               dataAccess = new StorageSqlDbDataAccessAgent(connectionString);
            }

            DbQueryClient client = new DbQueryClient(clientInfo, dataAccess);

            client.EnableLog = true;
            client.LogFileName = Path.Combine(LEAD_VARS.ImagesDir, "DicomLog.txt");

            PerformClientQuery ( client ) ;
         }

         public void PerformClientQuery(QueryClient client)
         {
            FindQuery studiesQuery = new FindQuery();


            DicomDataSet[] studies = client.FindStudies(studiesQuery);


            if (studies.Length > 0)
            {
               DicomDataSet study = studies[0];
               FindQuery seriesQuery = new FindQuery();


               seriesQuery.StudyInstanceUID = study.GetValue <string> ( DicomTag.StudyInstanceUID, string.Empty ) ;

               DicomDataSet [] series = client.FindSeries(seriesQuery);

               foreach (DicomDataSet seriesDS in series )
               {
                  FindQuery imagesQuery = new FindQuery();


                  imagesQuery.SeriesInstanceUID = seriesDS.GetValue <string> ( DicomTag.SeriesInstanceUID, string.Empty);

                  DicomDataSet[] images = client.FindImages(imagesQuery);


                  foreach (DicomDataSet instance in images)
                  {
                     Console.WriteLine("SOPInstanceUID: {0}", instance.GetValue <string> ( DicomTag.SOPInstanceUID, string.Empty));

                     Console.WriteLine("SeriesInstanceUID: {0}", instance.GetValue <string> ( DicomTag.SeriesInstanceUID, string.Empty));

                     Console.WriteLine("StudyInstanceUID: {0}", instance.GetValue <string> ( DicomTag.StudyInstanceUID, string.Empty));
                  }
               }
            }
         }

         static class LEAD_VARS
         {
         public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
         }
Requirements

Target Platforms

See Also

Reference

QueryClient Class
QueryClient Members
Overload List

 

 


Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Medical.Workstation.Client requires a Medical toolkit license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features